package config

import (
	"github.com/gogf/gf/frame/g"
)

var Config ServerConfig

func init() {
	Config.Jwt.ExpiresAt = g.Cfg("jwt").GetInt("jwt.ExpiresAt")
	Config.Jwt.RefreshAt = g.Cfg("jwt").GetInt("jwt.RefreshAt")
	Config.Jwt.SigningKey = g.Cfg("jwt").GetString("jwt.SigningKey")
}

func init() {
	Config.Oss.Aliyun.BucketName = g.Cfg("oss").GetString("OSS.bucketName")
	Config.Oss.Aliyun.Endpoint = g.Cfg("oss").GetString("OSS.endpoint")
	Config.Oss.Aliyun.AccessKeyID = g.Cfg("oss").GetString("OSS.accessKeyId")
	Config.Oss.Aliyun.AccessKeySecret = g.Cfg("oss").GetString("OSS.accessKeySecret")
	Config.Oss.Aliyun.FileEndpoint = g.Cfg("oss").GetString("OSS.fileEndpoint")
}

func init() {
	Config.Redis.Default = g.Cfg().GetString("redis.default")
	Config.Redis.Cache = g.Cfg().GetString("redis.cache")
}

func init() {
	Config.Logger.Path = g.Cfg().GetString("logger.Path")
	Config.Logger.Level = g.Cfg().GetString("logger.Level")
	Config.Logger.Stdout = g.Cfg().GetBool("logger.Stdout")
}

func init() {
	Config.Server.LogPath = g.Cfg().GetString("server.LogPath")
	Config.Server.Address = g.Cfg().GetString("server.Address")
	Config.Server.DumpRouterMap = g.Cfg().GetBool("server.DumpRouterMap")
	Config.Server.ErrorLogEnabled = g.Cfg().GetBool("server.ErrorLogEnabled")
	Config.Server.AccessLogEnabled = g.Cfg().GetBool("server.AccessLogEnabled")
}

func init() {
	Config.Database.Host = g.Cfg().GetString("database.default.Host")
	Config.Database.Port = g.Cfg().GetString("database.default.Port")
	Config.Database.User = g.Cfg().GetString("database.default.User")
	Config.Database.Pass = g.Cfg().GetString("database.default.Pass")
	Config.Database.Name = g.Cfg().GetString("database.default.Name")
	Config.Database.Type = g.Cfg().GetString("database.default.Type")
	Config.Database.Debug = g.Cfg().GetBool("database.default.Debug")
	Config.Database.Prefix = g.Cfg().GetString("database.default.Prefix")
	Config.Database.DryRun = g.Cfg().GetBool("database.default.DryRun")
	Config.Database.Weight = g.Cfg().GetInt("database.default.Weight")
	Config.Database.Charset = g.Cfg().GetString("database.default.Charset")
	Config.Database.MaxIdle = g.Cfg().GetString("database.default.max_idle")
	Config.Database.MaxOpen = g.Cfg().GetInt("database.default.max_open")
	Config.Database.MaxLifetime = g.Cfg().GetInt("database.default.max_lifetime")
}

func init() {
	Config.DatabaseLogger.Path = g.Cfg().GetString("database.logger.Path")
	Config.DatabaseLogger.Level = g.Cfg().GetString("database.logger.Level")
	Config.DatabaseLogger.Stdout = g.Cfg().GetBool("database.logger.Stdout")
}

func init() {
	Config.Wechat.Token = g.Cfg("wechat").GetString("wechat.token")
	Config.Wechat.Appid = g.Cfg("wechat").GetString("wechat.appid")
	Config.Wechat.Appsecret = g.Cfg("wechat").GetBool("wechat.appsecret")
}
